RunTime Debugger
Einfⁿhrung
Der PureBasic Runtime-Debugger ist ein externes Programm, welches die Ausfⁿhrung eines Programms kontrolliert. Er kontrolliert und ⁿberwacht in Echtzeit alle - den Funktionen ⁿbergegebene - Parameter, verhindert verbotene Operationen (wie Division durch Null) und mehr. Mit PureBasic kann die Programmausfⁿhrung angehalten und Schritt fⁿr Schritt analysiert werden, um alle Fehler aufzuspⁿren; und sie kann zu jeder Zeit unterbrochen werden! Dies kann sehr nⁿtzlich sein, wenn ein Programm in eine Endlosschleife verfΣllt. Und noch mehr, er erlaubt auch das ▄berwachen (Monitoring) von beliebigen Variablen und sogar ASM Registern, wenn 'Inline ASM Unterstⁿtzung einschalten' im Compiler-Optionen-Menⁿ aktiviert ist.
Funktionen
Stop
Dies stoppt die Ausfⁿhrung und zeigt die aktuelle Position im Programmcode an.Cont
Dies setzt ein zuvor angehaltenes Programm fort.Step
Dieser Schalter erm÷glicht den Code nach und nach abzuarbeiten, d.h. Zeile fⁿr Zeile. Dies ist sehr nⁿtzlich, um Fehler aufzuspⁿren.Asm
Zeigt ein ASM Monitoring Fenster mit allen CPU-Registern und CPU-Flags. Dies ist nur fⁿr erfahrene Programmierer, welche die ASM Sprache bereits kennen. Die 'Inline ASM Unterstⁿtzung einschalten' Option im Compiler-Menⁿ muss aktiviert sein und der Debugger muss angehalten (mit STOP oder STEP) worden sein, um Zugriff auf dieses Fenster zu erhalten. Dieser Monitor ist nur nⁿtzlich beim Betrachten von Inline ASM, nicht bei normalem Basic Code. Ein cooles Feature ist die M÷glichkeit, den Wert eines beliebigen Registers nach Drⁿcken des Schalters 'Schreibe neuen Wert' verΣndern zu k÷nnen.Zeige Variablen
Zeigt ein Fenster, welches jede im Programm benutzte globale Variable anzeigt. Der Variablen Inhalt wird in Echtzeit aktualisiert, um einfach dem Programmablauf folgen zu k÷nnen.Zeige Ausgabe-Fenster
Zeigt ein Fenster, welches die Ausgabe des 'Debug' Befehls darstellt.Exit
Dies beendet den Debugger, den Compiler, und jedes Programm im Falle von Problemen oder wenn eine "Endlosschleife" auf keinem anderen Weg gestoppt werden kann.
Die Debugger Schlⁿsselw÷rter in PureBasic
CallDebugger
Dies ruft den "Debugger" auf und hΣlt sofort die Programmausfⁿhrung an.Debug <Ausdruck> [, DebugLevel]
Zeigt das DebugOutput Fenster und darin das Ergebnis. Der Ausdruck kann jeder gⁿltige PureBasic Ausdruck sein, von numerisch bis zu einem String. Ein wichtiger Punkt ist, dass der Debug Befehl und sein zugeh÷riger Ausdruck total ignoriert (nicht kompiliert) werden, wenn der Debugger deaktiviert ist. Dies bedeutet, dass dieser Befehl benutzt werden kann, um einfach den Programmablauf zu verfolgen ("tracen"), ohne beim Erstellen des endgⁿltigen Executable die Debug-Befehle auskommentieren zu mⁿssen.
Der 'DebugLevel' ist die PrioritΣtsstufe der Debug-Mitteilung. Alle normalen Debug-Mitteilungen (ohne angegebenen DebugLevel) werden automatisch angezeigt. Wenn ein Level angegeben wurde, dann wird die Mitteilung nur angezeigt, wenn der aktuelle DebugLevel (definiert mit dem nachfolgenden 'DebugLevel' Befehl) gleich oder h÷her als dieser Wert ist. Dies erm÷glicht einen hierarchischen Debug-Modus, indem mehr und mehr prΣzisere Informationen in AbhΣngigkeit vom benutzten DebugLevel angezeigt werden.DebugLevel
Legt den aktuellen DebugLevel fⁿr die 'Debug' Mitteilung fest.DisableDebugger
Dies schaltet die Debugger-Prⁿfroutinen bei nach diesem Befehl folgenden Sourcecode aus.EnableDebugger
Dies schaltet die Debugger-Prⁿfroutinen bei nach diesem Befehl folgenden Sourcecode ein (wenn der Debugger vorher mittels DisableDebugger ausgeschalten wurde).